var createError   = require('http-errors');
var express       = require('express');
var path          = require('path');
var cookieParser  = require('cookie-parser');
var logger        = require('morgan');
var bodyParser    = require("body-parser");

var indexRouter = require('./my_modules/routes/index');
var usersRouter = require('./my_modules/routes/users');
var router      = express.Router();

var app = express();
var http_port   = 8080;
// app.listen(8080);
app.listen(http_port, function(){
    console.log("http server listen port: %d", http_port);
});

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
// app.use('public/apidoc',express.static('public/apidoc'));
app.use('/public',express.static(path.join(__dirname, 'public')));

app.use(bodyParser.urlencoded({extended:true, limit:"10mb"}));
app.use(bodyParser.json({limit:"10mb"}));

app.use('/index', indexRouter);
app.use('/users', usersRouter);

app.use(router);

// catch 404 and forward to error handler
// app.use(function(req, res, next) {
//   next(createError(404));
// });

// error handler
// app.use(function(err, req, res, next) {
//   // set locals, only providing error in development
//   res.locals.message = err.message;
//   res.locals.error = req.app.get('env') === 'development' ? err : {};
//
//   // render the error page
//   res.status(err.status || 500);
//   res.render('error');
// });

module.exports = app;
